package com.assembly.entities;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 平台用户信息表
 * </p>
 *
 * @author 丽人平台-www.assembly.com
 * @since 2021-03-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("assembly_user")
@ApiModel(value="User对象", description="平台用户信息表")
public class SystemUser implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "昵称")
    private String fullName;

    @ApiModelProperty(value = "姓名")
    private String username;

    @ApiModelProperty(value = "性别(1男、2女、3未知)")
    private Integer sex;

    @ApiModelProperty(value = "出生日期")
    private Date birthday;

    @ApiModelProperty(value = "身份证号")
    private String identity;

    @ApiModelProperty(value = "省(所在地）")
    private String province;

    @ApiModelProperty(value = "市(所在地）")
    private String city;

    @ApiModelProperty(value = "区(所在地）")
    private String area;

    @ApiModelProperty(value = "详细地址(所在地）")
    private String address;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "工作年限")
    private Integer workingYears;

    @ApiModelProperty(value = "擅长")
    private String beGoodAt;

    @ApiModelProperty(value = "简介")
    private String brief;

    @ApiModelProperty(value = "账号")
    private String account;

    @ApiModelProperty(value = "手机号")
    private String mobile;

    @ApiModelProperty(value = "密码")
    @JSONField(serialize = false) // 忽略转json
    private String password;

    @ApiModelProperty(value = "帐户是否过期(1 未过期，0已过期)")
    private Integer isAccountNonExpired;

    @ApiModelProperty(value = "帐户是否被锁定(1未锁定，0已锁定)")
    private Integer isAccountNonLocked;

    @ApiModelProperty(value = "密码是否过期(1 未过期，0已过期)")
    private Integer isCredentialsNonExpired;

    @ApiModelProperty(value = "帐户是否可用(1 可用，0 删除用户)")
    private Integer isEnabled;

    @ApiModelProperty(value = "头像url")
    private String imageUrl;

    @ApiModelProperty(value = "微信OpenID")
    @JSONField(serialize = false) // 忽略转json
    private String wechatOpenId;

    @ApiModelProperty(value = "支付宝openId")
    @JSONField(serialize = false) // 忽略转json
    private String alipayOpenId;

    @ApiModelProperty(value = "QQopenId")
    @JSONField(serialize = false) // 忽略转json
    private String qqOpenid;

    @ApiModelProperty(value = "1、平台用户 2、B端用户、C端用户")
    private Integer type;

    @ApiModelProperty(value = "创建时间")
    private Date createDate;

    @ApiModelProperty(value = "更新时间")
    private Date updateDate;

    @ApiModelProperty(value = "密码更新时间")
    private Date pwdUpdateDate;


}
